package demo;

import com.tedu.InputUtil;

import java.util.List;


/**
 * 用户注册:顺序输入用户名，密码，昵称，年龄
 */
public class Demo {
    public static void main(String[] args) {
        //用户注册
//        regUser();
        //用户登录
//        loginUser();
        //修改用户信息
//        updateUser();

        findAll();
    }

    public static void findAll(){
        UserMapper userMapper = new UserMapper();
        List<User> users = userMapper.selectAll();
        for (User user : users) {
            System.out.println(user);
        }
    }

    /**
     * 修改用户信息
     */
    public static void updateUser(){
        /*
            1:利用InputUtil类，要求用户输入用户名，密码，昵称，年龄->User对象
            2:将User对象传递给UserMapper的update方法进行修改
            3:根据返回值是否大于0来输出修改成功或修改失败
         */
        User user = InputUtil.getInputObject(new User(),"修改用户信息");
        UserMapper userMapper = new UserMapper();
        int num = userMapper.update(user);
        System.out.println(num>0?"修改成功":"修改失败");

    }

    /**
     * 用户登录操作
     */
    public static void loginUser(){
        /*
            如果用户的用户名输入错误，提示用户名错误;如果密码错误，提示密码错误，
            如果都正确则提示登录成功

         */
        UserLoginDTO dto = InputUtil.getInputObject(new UserLoginDTO(),"欢迎登录");
        System.out.println(dto);
        //根据用户名查询用户数据
        UserMapper userMapper = new UserMapper();
        User user = userMapper.selectByUsername(dto.getUsername());
        System.out.println(user);
        if(user!=null){//用户名正确
            //比对密码
            if(user.getPassword().equals(dto.getPassword())){
                System.out.println("登录成功，欢迎回来:"+user.getNickname());
            }else{
                System.out.println("密码输入有误");
            }
        }else{
            System.out.println("用户名输入有误");
        }


    }

    /**
     * 用户注册操作
     */
    public static void regUser(){
        User user = InputUtil.getInputObject(new User(),"欢迎注册");
        System.out.println(user);
        UserMapper userMapper = new UserMapper();
        //判定是否为重复用户
        if(userMapper.selectByUsername(user.getUsername())==null) {
            int num = userMapper.insert(user);
            System.out.println(num > 0 ? "恭喜您注册成功" : "注册失败了");
        }else{
            System.out.println("该用户已存在");
        }
    }
}








